package com.train.course.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 课程信息 DTO
 */
@Data
public class VideoCourseDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 课程ID */
    private Long courseId;

    /** 课程名称 */
    @NotBlank(message = "课程名称不能为空")
    private String courseName;

    /** 课程简介 */
    private String courseDesc;

    /** 课程封面URL */
    private String coverUrl;

    /** 分类ID */
    @NotNull(message = "分类ID不能为空")
    private Long categoryId;

    /** 课程总时长（秒） */
    private Integer duration;

    /** 状态（0正常 1停用） */
    private String status;

    /** 观看次数 */
    private Long viewCount;

    /** 点赞数 */
    private Long likeCount;

    /** 收藏数 */
    private Long collectCount;

    /** 评论数 */
    private Long commentCount;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    private Date updateTime;

    /** 备注 */
    private String remark;

    /** 标签名称列表 */
    private List<String> tagNames;

    /** 排序 */
    private Integer sort;
}